package com.xjc.business.service;

import com.xjc.business.entity.domain.Majors;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xjc.business.entity.po.coladmin.MajorPo;
import com.xjc.business.entity.vo.PageVo;
import com.xjc.business.entity.vo.coladmin.MajorVo;
import com.xjc.business.entity.vo.coladmin.MajorWithClass;
import com.xjc.system.result.Result;

import java.util.List;

/**
* @author root
* @description 针对表【majors(专业表)】的数据库操作Service
* @createDate 2025-01-25 10:24:32
*/
public interface MajorsService extends IService<Majors> {

    /**
     * 获取专业分页
     * @param pageSize 每页条数
     * @param currentPage 当前页
     * @param collegeId 学院id
     * @param majorName 专业名称
     * @return 数据
     */
    Result<PageVo<MajorVo>> getMajorPage(Integer pageSize, Integer currentPage, Integer collegeId, String majorName);

    /**
     * 新增专业
     * @param majorPo 专业信息
     * @return 反馈
     */
    Result<String> addMajor(MajorPo majorPo);

    /**
     * 获取专业列表
     * @param collegeId 学院id
     * @return 数据
     */
    Result<List<MajorVo>> getMajorList(Integer collegeId);

    /**
     * 获取专业列表（包含二级班级）
     * @param collegeId 学院id
     * @return 数据
     */
    Result<List<MajorWithClass>> getMajorWithClassList(Integer collegeId);
}
